﻿using Abp.Dependency;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GN.Pay.Core.Runtime
{
    /// <summary>
    /// 启用进程
    /// </summary>
    public interface IStartProcess : ISingletonDependency
    {
        /// <summary>
        /// 获取进程类型
        /// </summary>
        ProcessType ProcessType { get; }

        /// <summary>
        /// 获取启动时间
        /// </summary>
        DateTime StartTime { get; }

        /// <summary>
        /// 计算机名称
        /// </summary>
        string MachineName { get; }

        ///// <summary>
        ///// Cpu数量
        ///// </summary>
        //int CpuCount { get; }

        ///// <summary>
        ///// 内存大小
        ///// </summary>
        //long MemorySize { get; }
    }

    /// <summary>
    /// 进程类型
    /// </summary>
    public enum ProcessType
    {
        /// <summary>
        /// 空
        /// </summary>
        None = 0,
        /// <summary>
        /// 管理端
        /// </summary>
        Admin = 1,
        /// <summary>
        /// 商户端
        /// </summary>
        Merchant = 2,
        /// <summary>
        /// 会员端
        /// </summary>
        Member = 3,
        /// <summary>
        /// 网关
        /// </summary>
        Gateway = 10
    }
}
